Portable electronic devices such as wireless personal digital assistants (PDAs), smart telephones and laptop computers with wireless capabilities have gained widespread use for a variety of functions. Such devices are commonly used for communication purposes including transportation of data, and run on a wide variety of networks from data-only networks such as Mobitex and DataTAC to complex voice and data networks such as GSM/GPRS, CDMA, EDGE, UMTS and CDMA2000 networks.
These portable electronic devices commonly include databases for storing data that is selectably retrievable by a user of a device. The data forms a series of data records, each data record containing one or more fields, each data record belonging to a database on the portable electronic device. During operation of the device, the data is retrieved and displayed, or otherwise made available to the user. The data can be modified, added to or deleted by the user of the device.
Advances in data storage have accompanied advances in portable electronic devices to provide for backup of data stored at the electronic device. By backing-up the device, data can be recovered in the event of data loss at the electronic device. Various electronic devices are backed-up by way of communication over a fixed (wire) connection between the electronic device and, for example, a computing station such as a desktop computer. Once the data is stored in a database at the computing station, the stored data can be modified, added to or deleted by a user at the computing station. Other portable electronic devices provide for backup of data stored thereon, to a computing station by way of a radio interface, using, for example, the networks listed above. Thus, data is sent over a radio communication channel of a radio communication system, thereby forming a communications link between the portable electronic device and a remote station (a station not linked by wire communication). Again, once the data is stored in a database at a computing station, the stored data can be modified, added to or deleted at the computing station. Thus, while data stored in the database of the portable electronic device is backed-up to a computing station, data is also transmitted from the computing station to the portable electronic device to synchronize the databases of the portable electronic device with the databases of the computing station.
Database schemas are statically defined as Extensible Markup Language (XML) files. These database schemas define the tables (types of records) and for each type of record, include information relating to each field. The information relating to each field includes, for example, the field name for each field, a tag number, a data type, a maximum supported length and an indication as to whether or not the field is a key field is included for each field of a type of record in a database schema. The database schema is changed for any change in structure of any database records. With a change in a database schema, data records of a database that do not conform to the new database structure defined by the new database schema, are invalidated and are permanently deleted. Thus, any change in a database schema at, for example, a portable electronic device, results in the invalidation of an entire backup database of records at, for example, a computing station. New database records are then stored that conform to the new database schema. This occurs even with a simple modification of a single field in a database schema. This is clearly inefficient, particularly where database backup occurs over the air (by radio communication) as backup of all records of a database can be time consuming and costly to a user paying for the service.